home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programmierung
/
Power-Programmierung (Tewi)(1994).iso
/
assemblr
/
library
/
sampler0
/
freecopy.doc
< prev
next >
Wrap
Text File
|
1985-06-06
|
29KB
|
1,428 lines
THIS IS THE BEGINNING OF THE DOCUMENT
****** FREECOPY Users Guide ***** Page 1.
---------------------------------------------------
F R E E C O P Y
A Disk Utility for the IBM Personal Computer
Users Guide by Donald L. Buresh, C.D.P.
Version 1.10
(C)Copyright 1984, 85 Squire Buresh Associates, Inc.
$25.00 Requested Contribution
---------------------------------------------------
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 2.
TABLE OF CONTENTS
Page
I. To the Users of FREECOPY 3
II. Running FREECOPY 5
III. Notes on FREECOPY
a. The Parameters 6
b. Fragmented Data 7
c. Disk Errors 8
IV. Messages from FREECOPY
a. Informative Messages 10
b. Error Messages 13
V. Remarks on User Supported Software 17
VI. Acknowledgements 19
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 3.
I. To the Users Of FREECOPY
This is a short summary describing what is on the FREECOPY
diskette. FREECOPY is a disk utility that is functionally
equivalent to DISKCOPY which is distributed with IBM PC DOS.
I am releasing this software into the public domain because I
believe that the time has come for users to see and criticize
professional quality source code. I welcome all comments on
FREECOPY, particularly about any bugs you discover in the code.
In developing FREECOPY, I reversed engineered DISKCOPY and made
sure that I did not violate the proprietary rights of either IBM or
Microsoft. In fact, I took great pains to ensure that FREECOPY
is better than DISKCOPY.
The three (3) files that are on this diskette are:
o FREECOPY.COM - The executable code
o FREECOPY.ASM - The source code
o FREECOPY.DOC - A users guide
The executable code is a binary .COM file that comes in machine
readable format. The source code is structured assembly language
with lots of comments. This users guide is a short document
describing how to run FREECOPY.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 4.
FREECOPY is the first of a series of assembly language programs
that I am distributing on a user supported basis. I will create
significant programs for the PC community. These programs will
appear in conjunction with the articles that I am writing for the
disk-based magazine PC FIRING LINE edited by Bill Salkin. I am
writing the PC DOS/ROM column.
If you find FREECOPY helpful, please give the package to other
users without alteration so that I can answer people's questions.
I am requesting a $25.00 contribution. If you want a copy, send a
self-addressed postage-paid mailer along with a formatted diskette
to us. No exceptions, please.
Regardless of the contribution, users are encouraged to copy and
share the program with other users.
- Donald L. Buresh, C.D.P. -
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 5.
II. Running FREECOPY
FREECOPY copies the source diskette on a track by track basis
to the target diskette formatting and then writing to the target
diskette. The utility does not check the drive letter to see
if you specified a hard disk drive.
Before invoking FREECOPY, examine the PC DOS prompt (e.g.,
A> for drive A:) that denotes the default drive. To execute
FREECOPY, enter the command:
FREECOPY X: Y:/1
where the first parameter X: specifies the source drive, the second
parameter Y: indicates the target drive and the /1 parameter
instructs the utility to copy only the top side of the source
diskette.
The disk drives X: and Y: may or may not be the same. If they
are equal to each other or omitted altogether, FREECOPY copies the
source diskette using a single drive. The program prompts you to
insert the appropriate diskette at the correct time.
When FREECOPY finishes copying a diskette, the program asks
you if you want to continue. If you press Y(es), FREECOPY starts
the process all over again with the same parameters that you
specified when invoking the program. If you press N(o), FREECOPY
returns to PC DOS. The program ignores all other answers except
Control-C or Control-Break which also transfers control to PC DOS.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 6.
III. Notes on FREECOPY
These notes on FREECOPY demonstrate to the user the features
and/or limitations of the program.
a. The Parameters
If you do not specify both disk drive parameters, FREECOPY
copies the source diskette using only the PC DOS default drive.
For exammple, if the PC default drive is B:, and you invoke
FREECOPY with the command:
B>FREECOPY
the program copies the source diskette onto the target diskette
using only drive B:.
If you specify only one disk drive parameter, FREECOPY assumes
that it is the source drive and that the target drive is the PC DOS
default drive. For example, if A: is the PC DOS default drive and
you enter the command:
A>FREECOPY B:
the program assumes that the source drive is B: and the target drive
is A:. If the default drive is the same as the drive that you
indicated when you entered the command, FREECOPY copies the source
diskette using a single drive. This command might look like:
B>FREECOPY B:
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 7.
If you enter distinct source and target disk drivers, FREECOPY
will follow your command exactly. For example, if A: is the PC DOS
default drive and you enter:
A>FREECOPY A: B:
the program copies the the source diskette in drive A: to the target
diskette in drive B:. However, if you have only one disk drive on
your system, FREECOPY is smart enough to use one drive.
If you employ the /1 parameter when invoking FREECOPY, the program
copies the top side of the source diskette. If the source drive is
single sided, FREECOPY recognizes that this parameter is not
necessary.
b. Fragmented Data
While using a diskette, the sectors that contain your data may
not be in sequential order. This situation occurs because PC DOS
uses the first available sector when writing files regardless of its
position on the diskette.
A diskette with fragmented files degrades the performance of
PC DOS causing excessive head movement when reading and/or writing
a file. If so, you may want to use the COPY command to copy the
files from the source diskette to the target diskette.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 8.
c. Disk Errors
There are many reasons for a diskette error. The two (2) most
common reasons are:
o The mylar for a given track wears out; or
o The contents of the diskette are copy protected
by the software manufacturer.
All things have a finite lifespan, including diskettes. When the
mylar of a track can no longer retain the data, FREECOPY can do very
little to recover the information. We recommend that you always
maintain a backup diskette of your important data.
It is unfortunate that some software manufacturers make it
difficult, if not impossible, to copy their programs. It is our
opinion that copy protection assumes that everyone will attempt to
violate the software manufacturer's rights. One of the fundamental
principles of FREEWARE is that the user has the right to
examine the quality of the source code before deciding whether
or not they want to purchase it. FREECOPY is consistent with the
FREEWARE concept and it does not currently break any copy protection
schemes.
FREECOPY always displays the head and track number that it is
currently processing. If the program encounters a disk error,
it displays the appropriate message on the screen. Section IV of
this manual describes the messages in great detail.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 9.
If FREECOPY encounters a disk error for either the source or
target diskette, that diskette may or may not be usable, depending
on whether the affected track contains valid data.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 10.
IV. Messages from FREECOPY
The messages that FREECOPY displays on the screen come in two
varieties: informative messages and error messages.
a. Informative Messages
Copy another diskette (Y/N)?
If you want to copy another diskette, enter Y(y) and FREECOPY
prompts you to insert a diskette in the source drive. If you
reply N(n), the program returns control to PC DOS. FREECOPY
ignores any other answer except Control-C, Control-Break and
Control-Alt-Del.
Copy is complete.
FREECOPY has successfully copied the contents of the source
diskette onto the target diskette.
Copying X sectors per track, Y side.
This message tells you that a source diskette is a PC DOS 1.0,
1.1 or 2.0 diskette, single or double sided.
Correct, and press any key to continue.
This message appears when FREECOPY is unable to validate a
source diskette for one or more of the following reasons:
o The diskette is unformatted;
o The first byte of the File Allocation Table (FAT)
is invalid;
o A double sided diskette is placed in a single
sided source drive and the user did not ask
FREECOPY to copy only the first side.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 11.
A diskette is not in drive X:.
FREECOPY displays this message on the screen when there is
no diskette in either the source or target drive.
Insert source diskette in drive X:.
This message tells you when to insert the source diskette
into the source drive.
Insert target diskette in drive Y:.
This message appears on the screen when FREECOPY is ready to
copy the source diskette onto the target diskette.
Insufficient memory.
FREECOPY puts this message on the screen when there is not
enough free memory on the machine to contain:
o A complete copy of COMMAND.COM, including the
resident portion in low memory and the transient
portion in high memory (PC DOS 1.0 and 1.1 only);
o A copy of the ES:BX table that holds the beginning
addresses of each track stored in memory;
o A copy of the CHRN table that is used when the
target diskette is unformatted;
o A copy of the File Allocation Table (FAT) of the
source diskette;
o At least one (1) track of the source diskette.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 12.
Invalid parameter(s) specified.
FREECOPY issues this message when a colon did follow a drive
letter, a file name appears after a drive letter and a colon,
or a /1 occurs in the wrong position.
Invalid default floppy disk drive.
The program issues this message when the PC DOS default drive
is invalid. It can occur when a system has more than four (4)
logical disk drives that reside on a hard disk.
Note: Copying diskette on a single drive.
FREECOPY displays this message and sounds the bell to inform
you that it is using one (1) drive to copy the source diskette.
Press any key when ready.
This message is self-explanatory. Press any key except
Control-C or Control-Break to continue the processing.
Reading track (XX) head (Y).
The program issues this message when it is reading the source
diskette.
Returning to PC DOS.
FREECOPY puts this message on the screen whenever it transfers
control back to PC DOS.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 13.
Write source diskette again (Y/N)?
This message asks a user if he/she wants another copy of the
source diskette. It appears only when the computer can
store the source diskette completely in memory.
Writing track (XX) head (Y).
This message tells you the track and head that FREECOPY is
writing onto the target diskette.
b. Error Messages
Address mark was not found.
When this message appears, INT 13H was not able to find the
CHRN entry that is standard for PC DOS diskettes. The diskette
is probably copy-protected by the manufacturer.
Bad command passed to the disk interrupt 13H.
This is a diagnostic message that was used in debugging
FREECOPY.
Cyclic redundancy check (CRC) error.
FREECOPY displays this message on the screen when the 16 bit
CRC character is invalid. This word immediately follows the
CHRN entry on a diskette and is generated by the polynomial:
16 12 5
P(X) = X + X + X + 1
where X is any byte of a given sector except the CRC or ID
byte.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 14.
Disk controller has failed.
The program issues this message when the disk controller chip
is no longer working. This chip can be the Intel 8272 or
the NEC 765. They are functionally equivalent.
DMA overrun on an I/O operation.
This is a diagnostic message used in debugging FREECOPY. It
means that the disk controller chip (i8272 or NEC 765) tried
to use more memory than what was allocated to it by FREECOPY.
Double sided diskette in a
single sided disk drive.
This message appears when you place a double sided diskette in
a single sided drive and you did not tell FREECOPY to copy only
the top side of the diskette.
First byte of the FAT does not
match any known diskette type.
FREECOPY checks the first byte of the File Allocation Table
(FAT) for validity. If it is not equal to 0FCH, 0FDH, 0FEH
or 0FFH, the program displays this message.
Memory control block destroyed.
This was used in implementing and testing the PC DOS memory
allocation function calls. It should not appear when
normally using FRECOPY.
Requested sector not found.
This message occurs when the sectors of a given track for
the source diskette are not in sequential order, starting at
one (1) and ending at eight (8) or nine (9). The source
diskette is probably copy-protected by the manufacturer.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 15.
Seek operation has failed.
This message appears when FREECOPY attempts to read or write
physical tracks greater than number forty-one (41) or seeks
a valid physical track number with an invalid logical track
number. If the first case is true, FREECOPY contains a
bug. This should not be the case. Probably a valid physical
track is holding an invalid logical track number in the CHRN
table. If so, the source diskette is copy-protected by the
manufacturer.
Target diskette is write protected.
If this message appears, remove the write protection tab on the
target diskette.
Tried DMA across a 64K boundary.
Since the Intel 8088 processor chip breaks up memory into
64K segments, this message appears when FREECOPY tries to
write a track of the source diskette into memory across a
64K boundary. This is a diagnostic message that was used
to debug FREECOPY.
Unrecoverable format error on target.
FREECOPY puts this message on the screen when it is unable
to format the target diskette. You should use another
target diskette.
Unrecoverable I/O error.
This message appears when an error occurs and FREECOPY is
unable to determine the nature of the error.
Unrecoverable read error on source.
The program displays this message when it cannot read the
source diskette. FREECOPY tries four (4) times before this
statement appears on the screen.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 16.
Unrecoverable write error on target.
This message indicates that FREECOPY could not write the
data on the source diskette onto the target diskette. You
should use another target diskette.
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 17.
V. Remarks on User Supported Software
According to Andrew Fluegelman, user supported software is based
on the following three (3) principles:
o The utility of software can only be ascertained by a
user on their own system;
o The development of personal computer software should
be encouraged by the computing community; and
o The duplication of software should be encouraged rather
than restricted by copy-protection schemes.
The basic assumption behind these principles is that software
developers will rely on the individuals in the computing community
to support them financially. However, most developers are committed
to selling their wares through standard market channels.
The market for personal computing software is growing without
bound. Advertising and documentation costs are now a significant
barrier to the would be entrepreneur. The shelf space of major
distributors is commanding premium dollars. This means that within
a short period of time, we may see very few new programs on the
market. The small software developer will be driven from the
marketplace.
On the other hand, a computer program is a mechanism to process
data and form information. Information is a commodity that is
neither non-renewable nor recycleable. It is expandable. If I
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 18.
have information and give or sell it to you, we both have it.
The net effect of the transaction is positive. The net effect
of all other transactions in human history has been zero. If you
and I trade two goods, I lose what I have to gain what you have and
vice versa.
The FREEWARE concept admits that the exchange of software is an
informational transaction where both parties gain and yet retain what
they had before the transaction. Software developers who are selling
through standard market channels are attempting to make an
informational transaction into an exchange transaction with a zero
net effect. This is impossible in the long run.
I am writing user supported software because I believe that it
is a viable alternative to selling my wares through the standard
market channels. I believe that user supported software will
supply the computing community with significant computer programs
as soon as professional developers recognize that they can thrive
by selling their programs in this fashion.
Therefore, I am pleased to offer FREECOPY to the computing
community and I welcome other authors to try their hand at creating
professional quality software.
- Donald L. Buresh, C.D.P. -
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 19.
VI. Acknowledgements
This is where I thank the people who made FREECOPY possible.
My first round of thanks go out to Andrew Fluegelman for inventing
the FREEWARE concept. I would like to thank Marshall Goldberg for
convincing me that the computing community needs public domain
software. I want to thank Patricia Smith and Jim Button for
demonstrating to me that an individual can thrive on user supported
software provided that they have the right product. My thanks
go out to Bill Salkin for creating PC Firing Line and for the
many hours of conversation about the magazine.
From a technical perspective, I want to thank Brian Markey
for indicating how to overcome DMA boundary errors and Harry Keller
for demonstrating how to calculate the amount of available free
memory. I also think that Keith Beal deserves credit for showing
me a documentation system for assembly language programs.
The trademarks that I have mentioned in this users guide are
listed below.
o IBM and PC DOS are registered trademarks of International
Business Machines, Inc.
o FREEWARE is a trademark of The Headlands Press, Inc.
o PC Firing Line is a trademark of ABComputing
- Donald L. Buresh, C.D.P. -
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
****** FREECOPY Users Guide ***** Page 20.
VII. List of Bugs
Since the first release of FREECOPY, I have corrected a
number of bugs. Some were small and some were not.
o Ensured that FREECOPY runs on PC with lots of
memory.
o Flushed the standard keyboard buffer to prevent
a user from unwantly typing ahead.
o Modified the command line parser to process the
TAB character.
o Completely revampled the memory management scheme
so that FREECOPY uses the PC DOS function calls
when running versions of the operating system
greater than 2.0
Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
THIS IS THE END OF THE DOCUMENT